/*******************************************************************************
 * Feedback.java
 *
 * Created by Nishan
 * Last modified Date: Nov 14, 2008 9:09:03 AM by nishan
  * Version : 0.1
 * Copyright (c) 2008 - 2009 cyberThink Infotech Pvt. Ltd., All rights reserved.
 ******************************************************************************/
package com.printeverywhere.dto;

import java.util.Date;

import com.printeverywhere.util.DateUtil;

public class Feedback implements java.io.Serializable {

	// Fields

	/** The id. */
	private Integer id;

	/** The item id. */
	private Items itemId;

	/** The user by from user id. */
	private User userByFromUserId;

	/** The user by to user id. */
	private User userByToUserId;

	/** The positive. */
	private Boolean positive;

	private Integer rating;

	/** The neutral. */
	private Boolean neutral;

	/** The negative. */
	private Boolean negative;

	/** The created date. */
	private Date createdDate = DateUtil.getTodaysDate();

	/** The message. */
	private String message;

	/** The user type. */
	private String userType;

	// Constructors

	/**
	 * default constructor.
	 */
	public Feedback() {
	}

	/**
	 * minimal constructor.
	 *
	 * @param itemId the item id
	 * @param userByFromUserId the user by from user id
	 * @param userByToUserId the user by to user id
	 * @param positive the positive
	 * @param neutral the neutral
	 * @param negative the negative
	 * @param createdDate the created date
	 * @param message the message
	 */
	public Feedback(Items itemId, User userByFromUserId, User userByToUserId,
			Boolean positive, Boolean neutral, Boolean negative, Date createdDate,
			String message) {
		this.itemId = itemId;
		this.userByFromUserId = userByFromUserId;
		this.userByToUserId = userByToUserId;
		this.positive = positive;
		this.neutral = neutral;
		this.negative = negative;
		this.createdDate = createdDate;
		this.message = message;
	}

	/**
	 * full constructor.
	 *
	 * @param itemId the item id
	 * @param userByFromUserId the user by from user id
	 * @param userByToUserId the user by to user id
	 * @param positive the positive
	 * @param neutral the neutral
	 * @param negative the negative
	 * @param createdDate the created date
	 * @param message the message
	 * @param userType the user type
	 */
	public Feedback(Items itemId, User userByFromUserId, User userByToUserId,
			Boolean positive, Boolean neutral, Boolean negative, Date createdDate,
			String message, String userType) {
		this.itemId = itemId;
		this.userByFromUserId = userByFromUserId;
		this.userByToUserId = userByToUserId;
		this.positive = positive;
		this.neutral = neutral;
		this.negative = negative;
		this.createdDate = createdDate;
		this.message = message;
		this.userType = userType;
	}

	// Property accessors

	/**
	 * Gets the id.
	 *
	 * @return the id
	 */
	public Integer getId() {
		return this.id;
	}

	/**
	 * Sets the id.
	 *
	 * @param id the new id
	 */
	public void setId(Integer id) {
		this.id = id;
	}


	/**
	 * Gets the item id.
	 *
	 * @return the itemId
	 */
	public Items getItemId() {
		return itemId;
	}

	/**
	 * Sets the item id.
	 *
	 * @param itemId the itemId to set
	 */
	public void setItemId(Items itemId) {
		this.itemId = itemId;
	}

	/**
	 * Gets the user by from user id.
	 *
	 * @return the user by from user id
	 */
	public User getUserByFromUserId() {
		return this.userByFromUserId;
	}

	/**
	 * Sets the user by from user id.
	 *
	 * @param userByFromUserId the new user by from user id
	 */
	public void setUserByFromUserId(User userByFromUserId) {
		this.userByFromUserId = userByFromUserId;
	}

	/**
	 * Gets the user by to user id.
	 *
	 * @return the user by to user id
	 */
	public User getUserByToUserId() {
		return this.userByToUserId;
	}

	/**
	 * Sets the user by to user id.
	 *
	 * @param userByToUserId the new user by to user id
	 */
	public void setUserByToUserId(User userByToUserId) {
		this.userByToUserId = userByToUserId;
	}

	/**
	 * Gets the positive.
	 *
	 * @return the positive
	 */
	public Boolean isPositive() {
		return this.positive;
	}

	/**
	 * Sets the positive.
	 *
	 * @param positive the new positive
	 */
	public void setPositive(Boolean positive) {
		this.positive = positive;
	}

	/**
	 * Gets the neutral.
	 *
	 * @return the neutral
	 */
	public Boolean isNeutral() {
		return this.neutral;
	}

	/**
	 * Sets the neutral.
	 *
	 * @param neutral the new neutral
	 */
	public void setNeutral(Boolean neutral) {
		this.neutral = neutral;
	}

	/**
	 * Gets the negative.
	 *
	 * @return the negative
	 */
	public Boolean isNegative() {
		return this.negative;
	}

	/**
	 * Sets the negative.
	 *
	 * @param negative the new negative
	 */
	public void setNegative(Boolean negative) {
		this.negative = negative;
	}

	/**
	 * Gets the created date.
	 *
	 * @return the created date
	 */
	public Date getCreatedDate() {
		return this.createdDate;
	}

	/**
	 * Sets the created date.
	 *
	 * @param createdDate the new created date
	 */
	public void setCreatedDate(Date createdDate) {
		this.createdDate = createdDate;
	}

	/**
	 * Gets the message.
	 *
	 * @return the message
	 */
	public String getMessage() {
		return this.message;
	}

	/**
	 * Sets the message.
	 *
	 * @param message the new message
	 */
	public void setMessage(String message) {
		this.message = message;
	}

	/**
	 * Gets the user type.
	 *
	 * @return the user type
	 */
	public String getUserType() {
		return this.userType;
	}

	/**
	 * Sets the user type.
	 *
	 * @param userType the new user type
	 */
	public void setUserType(String userType) {
		this.userType = userType;
	}

	public Integer getRating() {
		return rating;
	}

	public void setRating(Integer rating) {
		this.rating = rating;
	}

}